package d9_tz;

import java.util.concurrent.atomic.AtomicInteger;

//使用乐观锁
public class MyRunnable02 implements Runnable{
    //需求: 就是操作一个变量: 多线程的意义就是在于共享资源
    private AtomicInteger count = new AtomicInteger();

    //使用乐观锁记性改造

    //没有使用锁的时候,线程安全问题-->假设count是10,可能一个线程对count加到11,另外一个线程也对count加成了11,这样子,就会导致少了一次(注意线程是在同时运行的)
    @Override
    public void run() {
        //100次
        for (int i = 0; i < 100; i++) {
//            System.out.println(this);//如果不是target-->就得换
            //对于调用的线程是唯一的,最好就是使用对象
                System.out.println(Thread.currentThread().getName()
                        + "count ==========>" + count.incrementAndGet());
        }
    }
}
